import QtQuick
import QtQuick.Controls
import Drillingrig
import QtMultimedia
import MediaItem


Rectangle {
    id: screen02
    property int year
    property int month
    property int date
    property int day
    property int hour
    property int minutes
    property int second
    width: Constants.width
    height: Constants.height

    color: Constants.backgroundColor
    FontLoader{
        id: boldFont
        source:"fonts/SourceHanSansCN-Bold.otf"
    }
    Image {
        id: image
        anchors.fill: parent
        anchors.leftMargin: 0
        anchors.rightMargin: 0
        anchors.topMargin: 0
        anchors.bottomMargin: 0
        source: "images/background-image.jpg"
        fillMode: Image.Stretch
    }

    Rectangle {
        id: timeBar
        x: 89
        y: 56
        width: 463
        height: 37
        color: "#00ffffff"

        Row {
            id: row
            anchors.fill: parent
            anchors.rightMargin: 0
            anchors.bottomMargin: 0
            spacing: 20

            Image {
                x: 0
                width: 122
                height: 37
                visible: false
                source: "images/logo.png"
                fillMode: Image.PreserveAspectFit
            }

            Rectangle {
                width: 2
                height: 24
                color: "#698c9a"
                anchors.verticalCenter: parent.verticalCenter
            }

            Text {
                id: timeShow
                width: 125
                height: 25
                color: "#ece3da"
                text:{
                    let hour = String(screen02.hour);
                    let minutes = String(screen02.minutes);
                    let second = String(screen02.second);
                    if(screen02.hour < 10){
                        hour = "0" + screen02.hour;
                    }
                    if(screen02.minutes < 10){
                        minutes = "0" + screen02.minutes;
                    }
                    if(screen02.second < 10){
                        second = "0" + screen02.second;
                    }
                    return hour + ":" + minutes + ":" + second;
                }
                anchors.verticalCenter: parent.verticalCenter
                font.pixelSize: 32
                horizontalAlignment: Text.AlignHCenter
                verticalAlignment: Text.AlignVCenter
                font.weight: Font.Medium
            }

            Rectangle {
                width: 2
                height: 24
                color: "#698c9a"
                anchors.verticalCenter: parent.verticalCenter
            }

            Item {
                id: item1
                width: 122
                height: 37

                Column {
                    id: column
                    anchors.fill: parent
                    spacing: 6

                    Text {
                        id: weekShow
                        width: 43
                        height: 14
                        color: "#ece3da"
                        text: {
                            switch(screen02.day){
                            case 0:
                                return qsTr("星期日");
                            case 1:
                                return qsTr("星期一");
                            case 2:
                                return qsTr("星期二");
                            case 3:
                                return qsTr("星期三");
                            case 4:
                                return qsTr("星期四");
                            case 5:
                                return qsTr("星期五");
                            case 6:
                                return qsTr("星期六");
                            default:
                                return qsTr("未知");
                            }
                        }
                        font.pixelSize: 14
                        horizontalAlignment: Text.AlignLeft
                        verticalAlignment: Text.AlignTop
                        font.weight: Font.Medium
                    }

                    Text {
                        id: dateShow
                        width: 43
                        height: 14
                        color: "#ece3da"
                        text: {
                            let month = String(screen02.month);
                            let date = String(screen02.date);
                            if(month < 10){
                                month = "0" + month;
                            }
                            if(date < 10){
                                date = "0" + date;
                            }
                            return screen02.year + "-" + month + "-" + date;
                        }
                        font.pixelSize: 14
                        horizontalAlignment: Text.AlignLeft
                        verticalAlignment: Text.AlignTop
                        font.weight: Font.Medium
                    }
                }
            }
        }
    }

    Row {
        x: 1654
        y: 76
        anchors.right: parent.right
        anchors.top: parent.top
        anchors.rightMargin: 66
        anchors.topMargin: 76
        spacing: 36
        layoutDirection: Qt.RightToLeft

        IconButton {
            id: iconButton
            width: 95
            height: 20
            text: "关闭此页面"
            normalImage: "images/quit-normal.png"
            hoveredImage: "images/quit-hovered.png"
            onClicked: {
                close();
            }
        }

        IconButton {
            id: iconButton1
            width: 95
            height: 20
            text: "系统设置"
            normalImage: "images/settings-normal.png"
            hoveredImage: "images/settings-hovered.png"
            onClicked: {
                if(!systemconfig02.visible){
                    systemconfig02.open();
                }
            }
        }
    }

    Flickable {
        id: flickable
        anchors.left: parent.left
        anchors.right: parent.right
        anchors.top: parent.top
        anchors.bottom: parent.bottom
        anchors.leftMargin: 49
        anchors.rightMargin: 48
        anchors.topMargin: 112
        anchors.bottomMargin: 364
        contentHeight: grid.height
        contentWidth: width
        clip: true
        ScrollBar.vertical: ScrollBar {
            policy: ScrollBar.AlwaysOn
        }
        Timer{
            running: true
            interval: 1000
            repeat: true
            onTriggered: {
                var current = new Date();
                var minTime = new Date();
                minTime.setTime(current.getTime() - 1000 * 30);
                var maxTime = new Date();
                maxTime.setTime(current.getTime());

                moisture.axisX().min = minTime;
                moisture.axisX().max = maxTime;
                moisture.series(0).append(current, favorite.ai4);
                if(moisture.series(0).count > 1000){
                    moisture.series(0).removePoints(0, 800);
                }

                lubOl.axisX().min = minTime;
                lubOl.axisX().max = maxTime;
                lubOl.series(0).append(current, favorite.ai3);
                if(lubOl.series(0).count > 1000){
                    lubOl.series(0).removePoints(0,800);
                }

                pushStresses.axisX().min = minTime;
                pushStresses.axisX().max = maxTime;
                pushStresses.series(0).append(current, favorite.ai5 / 100);
                if(pushStresses.series(0).count > 1000){
                    pushStresses.series(0).removePoints(0, 800);
                }

                motorStresses.axisX().min = minTime;
                motorStresses.axisX().max = maxTime;
                motorStresses.series(0).append(current, favorite.ai6 / 100);
                if(motorStresses.series(0).count > 1000){
                    motorStresses.series(0).removePoints(0, 800);
                }

                pinch.axisX().min = minTime;
                pinch.axisX().max = maxTime;
                pinch.series(0).append(current, favorite.ai7 / 100);
                pinch.series(1).append(current, favorite.ai8 / 100);
                if(pinch.series(0).count > 1000){
                    pinch.series(0).removePoints(0, 800);
                }
                if(pinch.series(1).count > 1000){
                    pinch.series(1).removePoints(0, 800);
                }

                dislocation.axisX().min = minTime;
                dislocation.axisX().max = maxTime;
                dislocation.series(0).append(current, favorite.ai9);
                if(dislocation.series(0).count > 1000){
                    dislocation.series(0).removePoints(0, 800);
                }

                amps.axisX().min = minTime;
                amps.axisX().max = maxTime;
                amps.series(0).append(current, attributes.values["154"]);
                amps.series(1).append(current, attributes.values["155"]);
                amps.series(2).append(current, attributes.values["156"]);
                if(amps.series(0).count > 1000){
                    amps.series(0).removePoints(0, 800);
                }
                if(amps.series(1).count > 1000){
                    amps.series(1).removePoints(0, 800);
                }
                if(amps.series(2).count > 1000){
                    amps.series(2).removePoints(0, 800);
                }

                voltage.axisX().min = minTime;
                voltage.axisX().max = maxTime;
                voltage.series(0).append(current, attributes.values["150"]);
                if(voltage.series(0).count > 1000){
                    voltage.series(0).removePoints(0, 800);
                }
            }
        }
        Grid {
            id: grid
            rowSpacing: 16
            columnSpacing: 26
            columns: 4

            Rectangle {
                id: rectangle3
                width: 438
                height: 294
                color: "#00ffffff"

                Rectangle {
                    x: 0
                    y: 0
                    width: 438
                    height: 42
                    color: "#00ffffff"

                    Image {
                        anchors.fill: parent
                        source: "images/little-title-background.png"
                        fillMode: Image.PreserveAspectFit
                    }
                    Text {
                        x: 42
                        y: 6
                        color: "#ffffff"
                        text: qsTr("温度分析")
                        font.pixelSize: 20
                        font.family: boldFont.name
                        font.styleName: "Bold"
                    }
                }

                Rectangle {
                    color: "#00ffffff"
                    border.color: "#d4ffffff"
                    anchors.left: parent.left
                    anchors.right: parent.right
                    anchors.top: parent.top
                    anchors.bottom: parent.bottom
                    anchors.leftMargin: 0
                    anchors.rightMargin: 0
                    anchors.topMargin: 43
                    anchors.bottomMargin: 0

                    SensorChart {
                        id: moisture
                        anchors.fill: parent
                        isRunning: true
                        unitFormat: "\u2103"
                        lendArry: ["温度"]
                        minY: 0
                        maxY: 100

                    }
                }
            }

            Rectangle {
                width: 438
                height: 294
                color: "#00ffffff"

                Rectangle {
                    x: 0
                    y: 0
                    width: 438
                    height: 42
                    color: "#00ffffff"
                    Image {
                        anchors.fill: parent
                        source: "images/little-title-background.png"
                        fillMode: Image.PreserveAspectFit
                    }

                    Text {
                        x: 42
                        y: 6
                        color: "#ffffff"
                        text: qsTr("液位分析")
                        font.pixelSize: 20
                        font.styleName: "Bold"
                        font.family: boldFont.name
                    }
                }

                Rectangle {
                    x: -6
                    y: -6
                    color: "#00ffffff"
                    border.color: "#d4ffffff"
                    anchors.left: parent.left
                    anchors.right: parent.right
                    anchors.top: parent.top
                    anchors.bottom: parent.bottom
                    anchors.leftMargin: 0
                    anchors.rightMargin: 0
                    anchors.topMargin: 43
                    anchors.bottomMargin: 0

                    SensorChart {
                        id: lubOl
                        x: 0
                        y: -43
                        anchors.fill: parent
                        unitFormat: "mm"
                        minY: 0
                        maxY: 400
                        lendArry: ["液位"]
                        isRunning: true
                    }
                }
            }

            Rectangle {
                width: 438
                height: 294
                color: "#00ffffff"

                Rectangle {
                    x: 0
                    y: 0
                    width: 438
                    height: 42
                    color: "#00ffffff"
                    Image {
                        anchors.fill: parent
                        source: "images/little-title-background.png"
                        fillMode: Image.PreserveAspectFit
                    }

                    Text {
                        x: 42
                        y: 6
                        color: "#ffffff"
                        text: qsTr("推进压力分析")
                        font.pixelSize: 20
                        font.styleName: "Bold"
                        font.family: boldFont.name
                    }
                }

                Rectangle {
                    x: -6
                    y: -6
                    color: "#00ffffff"
                    border.color: "#d4ffffff"
                    anchors.left: parent.left
                    anchors.right: parent.right
                    anchors.top: parent.top
                    anchors.bottom: parent.bottom
                    anchors.leftMargin: 0
                    anchors.rightMargin: 0
                    anchors.topMargin: 43
                    anchors.bottomMargin: 0

                    SensorChart {
                        id: pushStresses
                        x: 0
                        y: -43
                        anchors.fill: parent
                        anchors.leftMargin: 0
                        anchors.rightMargin: 0
                        anchors.topMargin: 0
                        anchors.bottomMargin: 0
                        unitFormat: "Mpa"
                        minY: 0
                        maxY: 25
                        lendArry: ["推进压力"]
                        isRunning: true
                    }
                }
            }

            Rectangle {
                width: 438
                height: 294
                color: "#00ffffff"

                Rectangle {
                    x: 0
                    y: 0
                    width: 438
                    height: 42
                    color: "#00ffffff"
                    Image {
                        anchors.fill: parent
                        source: "images/little-title-background.png"
                        fillMode: Image.PreserveAspectFit
                    }

                    Text {
                        x: 42
                        y: 6
                        color: "#ffffff"
                        text: qsTr("马达压力分析")
                        font.pixelSize: 20
                        font.styleName: "Bold"
                        font.family: boldFont.name
                    }
                }

                Rectangle {
                    x: -6
                    y: -6
                    color: "#00ffffff"
                    border.color: "#d4ffffff"
                    anchors.left: parent.left
                    anchors.right: parent.right
                    anchors.top: parent.top
                    anchors.bottom: parent.bottom
                    anchors.leftMargin: 0
                    anchors.rightMargin: 0
                    anchors.topMargin: 43
                    anchors.bottomMargin: 0

                    SensorChart {
                        id: motorStresses
                        x: 0
                        y: -43
                        anchors.fill: parent
                        unitFormat: "Mpa"
                        minY: 0
                        maxY: 40
                        lendArry: ["压力"]
                        isRunning: true
                    }
                }
            }

            Rectangle {
                width: 438
                height: 294
                color: "#00ffffff"

                Rectangle {
                    x: 0
                    y: 0
                    width: 438
                    height: 42
                    color: "#00ffffff"
                    Image {
                        anchors.fill: parent
                        source: "images/little-title-background.png"
                        fillMode: Image.PreserveAspectFit
                    }

                    Text {
                        x: 42
                        y: 6
                        color: "#ffffff"
                        text: qsTr("夹手压力分析")
                        font.pixelSize: 20
                        font.styleName: "Bold"
                        font.family: boldFont.name
                    }
                }

                Rectangle {
                    x: -6
                    y: -6
                    color: "#00ffffff"
                    border.color: "#d4ffffff"
                    anchors.left: parent.left
                    anchors.right: parent.right
                    anchors.top: parent.top
                    anchors.bottom: parent.bottom
                    anchors.leftMargin: 0
                    anchors.rightMargin: 0
                    anchors.topMargin: 43
                    anchors.bottomMargin: 0

                    SensorChart {
                        id: pinch
                        x: 0
                        y: -43
                        anchors.fill: parent
                        unitFormat: "Mpa"
                        minY: 0
                        maxY: 25
                        lendArry: ["抓手夹压力", "抓手松压力"]
                        isRunning: true
                    }
                }
            }

            Rectangle {
                width: 438
                height: 294
                color: "#00ffffff"

                Rectangle {
                    x: 0
                    y: 0
                    width: 438
                    height: 42
                    color: "#00ffffff"
                    Image {
                        anchors.fill: parent
                        source: "images/little-title-background.png"
                        fillMode: Image.PreserveAspectFit
                    }

                    Text {
                        x: 42
                        y: 6
                        color: "#ffffff"
                        text: qsTr("位移分析")
                        font.pixelSize: 20
                        font.styleName: "Bold"
                        font.family: boldFont.name
                    }
                }

                Rectangle {
                    x: -6
                    y: -6
                    color: "#00ffffff"
                    border.color: "#d4ffffff"
                    anchors.left: parent.left
                    anchors.right: parent.right
                    anchors.top: parent.top
                    anchors.bottom: parent.bottom
                    anchors.leftMargin: 0
                    anchors.rightMargin: 0
                    anchors.topMargin: 43
                    anchors.bottomMargin: 0

                    SensorChart {
                        id: dislocation
                        x: 0
                        y: -43
                        anchors.fill: parent
                        unitFormat: "mm"
                        minY: 0
                        maxY: 1200
                        lendArry: ["位移"]
                        isRunning: true
                    }
                }
            }

            Rectangle {
                width: 438
                height: 294
                color: "#00ffffff"

                Rectangle {
                    x: 0
                    y: 0
                    width: 438
                    height: 42
                    color: "#00ffffff"
                    Image {
                        anchors.fill: parent
                        source: "images/little-title-background.png"
                        fillMode: Image.PreserveAspectFit
                    }

                    Text {
                        x: 42
                        y: 6
                        color: "#ffffff"
                        text: qsTr("电流分析")
                        font.pixelSize: 20
                        font.styleName: "Bold"
                        font.family: boldFont.name
                    }
                }

                Rectangle {
                    x: -6
                    y: -6
                    color: "#00ffffff"
                    border.color: "#d4ffffff"
                    anchors.left: parent.left
                    anchors.right: parent.right
                    anchors.top: parent.top
                    anchors.bottom: parent.bottom
                    anchors.leftMargin: 0
                    anchors.rightMargin: 0
                    anchors.topMargin: 43
                    anchors.bottomMargin: 0

                    SensorChart {
                        id: amps
                        x: 0
                        y: -43
                        anchors.fill: parent
                        unitFormat: "A"
                        minY: 0
                        maxY: 200
                        lendArry: ["A相", "B相", "C相"]
                        isRunning: true
                    }
                }
            }

            Rectangle {
                width: 438
                height: 294
                color: "#00ffffff"
                Rectangle {
                    x: 0
                    y: 0
                    width: 438
                    height: 42
                    color: "#00ffffff"
                    Image {
                        anchors.fill: parent
                        source: "images/little-title-background.png"
                        fillMode: Image.PreserveAspectFit
                    }

                    Text {
                        x: 42
                        y: 6
                        color: "#ffffff"
                        text: qsTr("电压分析")
                        font.pixelSize: 20
                        font.styleName: "Bold"
                        font.family: boldFont.name
                    }
                }

                Rectangle {
                    x: -6
                    y: -6
                    color: "#00ffffff"
                    border.color: "#d4ffffff"
                    anchors.left: parent.left
                    anchors.right: parent.right
                    anchors.top: parent.top
                    anchors.bottom: parent.bottom
                    anchors.leftMargin: 0
                    anchors.rightMargin: 0
                    anchors.topMargin: 43
                    anchors.bottomMargin: 0
                    SensorChart {
                        id: voltage
                        x: 0
                        y: -43
                        anchors.fill: parent
                        unitFormat: "V"
                        minY: 300
                        maxY: 800
                        lendArry: ["电压"]
                        isRunning: true
                    }
                }
            }
        }
    }

    Rectangle {
        id: rectangle1
        x: 41
        y: 730
        width: 1369
        height: 40
        color: "#00ffffff"

        Image {
            id: image1
            anchors.fill: parent
            source: "images/long-title-background.png"
            fillMode: Image.PreserveAspectFit
        }
        Text {
            x: 42
            y: 6
            color: "#ffffff"
            text: qsTr("监控画面")
            font.pixelSize: 20
            font.family: boldFont.name
            font.styleName: "Bold"
        }
    }

    Row {
        x: 48
        y: 768
        spacing: 27

        Rectangle {
            width: 438
            height: 252
            color: "#00ffffff"

            Image {
                id: image3
                anchors.fill: parent
                source: "images/camera-background.png"
                fillMode: Image.PreserveAspectFit
            }

            VideoItem{
                id: videoItem
                x: 0
                y: 0
                anchors.fill: parent
                anchors.leftMargin: 10
                anchors.rightMargin: 10
                anchors.topMargin: 10
                anchors.bottomMargin: 10
                autoPlayAsSourceChanged: true
                source: config.rootObject.cameras[0]

                Timer{
                    repeat: true
                    interval: 10000
                    running: !videoItem.playing && videoItem.autoPlayAsSourceChanged
                    onTriggered: {
                        videoItem.play();
                    }
                }
            }

            MouseArea{
                anchors.fill: parent
                onDoubleClicked: {
                    videoWindow.showFullScreen();
                }
            }

            Window{
                id: videoWindow
                flags:  Qt.Window
                // visibility: Window.FullScreen
                visible: false
                Loader{
                    anchors.fill: parent
                    sourceComponent: videoCom
                }
                MouseArea{
                    anchors.fill: parent
                    onDoubleClicked: {
                        videoWindow.close();
                    }
                }
            }
            Component{
                id: videoCom
                VideoItem {
                    id: videoComItem
                    anchors.fill: parent
                    autoPlayAsSourceChanged: true
                    source: config.rootObject.cameras[0]
                    Timer{
                        repeat: true
                        interval: 10000
                        running: !videoComItem.playing && videoComItem.autoPlayAsSourceChanged
                        onTriggered: {
                            videoComItem.play();
                        }
                    }
                }
            }

            // MediaPlayer{
            //     id: player
            //     source: "rtsp://admin:cs123456@192.168.0.150:554/Streaming/Channels/101"
            //     videoOutput: videoOutput
            // }

            // VideoOutput {
            //     id: videoOutput
            //     anchors.fill: parent
            // }
            // Component.onCompleted: {
            //     player.play();
            // }
        }

        Rectangle {
            width: 438
            height: 252
            color: "#00ffffff"

            Image {
                id: image4
                x: -465
                y: 0
                anchors.fill: parent
                source: "images/camera-background.png"
                fillMode: Image.Stretch
            }
            // MediaPlayer{
            //     id: player1
            //     source: "rtsp://admin:cs123456@192.168.0.150:554/Streaming/Channels/102"
            //     videoOutput: videoOutput1
            // }

            // VideoOutput {
            //     id: videoOutput1
            //     anchors.fill: parent
            // }
            // Component.onCompleted: {
            //     player1.play();
            // }

            VideoItem{
                id: videoItem1
                anchors.fill: parent
                anchors.leftMargin: 10
                anchors.rightMargin: 10
                anchors.topMargin: 10
                anchors.bottomMargin: 10
                autoPlayAsSourceChanged: true
                source: config.rootObject.cameras[1]

                Timer{
                    repeat: true
                    interval: 10000
                    running: !videoItem1.playing && videoItem1.autoPlayAsSourceChanged
                    onTriggered: {
                        videoItem1.play();
                    }
                }
            }
            MouseArea{
                anchors.fill: parent
                onDoubleClicked: {
                    videoWindow1.showFullScreen();
                }
            }

            Window{
                id: videoWindow1
                flags:  Qt.Window
                // visibility: Window.FullScreen
                visible: false
                Loader{
                    anchors.fill: parent
                    sourceComponent: video1Com
                }
                MouseArea{
                    anchors.fill: parent
                    onDoubleClicked: {
                        videoWindow1.close();
                    }
                }
            }
            Component{
                id: video1Com
                VideoItem {
                    id: videoComItem1
                    anchors.fill: parent
                    autoPlayAsSourceChanged: true
                    source: config.rootObject.cameras[1]
                    Timer{
                        repeat: true
                        interval: 10000
                        running: !videoComItem1.playing && videoComItem1.autoPlayAsSourceChanged
                        onTriggered: {
                            videoComItem1.play();
                        }
                    }
                }
            }
        }

        Rectangle {
            width: 438
            height: 252
            color: "#00ffffff"

            Image {
                id: image5
                x: -930
                y: 0
                anchors.fill: parent
                source: "images/camera-background.png"
                fillMode: Image.Stretch
            }
            // MediaPlayer{
            //     id: player2
            //     source: "rtsp://admin:cs123456@192.168.0.150:554/Streaming/Channels/101"
            //     videoOutput: videoOutput2
            // }

            // VideoOutput {
            //     id: videoOutput2
            //     anchors.fill: parent
            // }
            // Component.onCompleted: {
            //     player2.play();
            // }
            VideoItem {
                id: videoItem2
                anchors.fill: parent
                anchors.leftMargin: 10
                anchors.rightMargin: 10
                anchors.topMargin: 10
                anchors.bottomMargin: 10
                autoPlayAsSourceChanged: true
                source: config.rootObject.cameras[2]

                Timer{
                    repeat: true
                    interval: 10000
                    running: !videoItem2.playing && videoItem2.autoPlayAsSourceChanged
                    onTriggered: {
                        videoItem2.play();
                    }
                }
            }
            MouseArea{
                anchors.fill: parent
                onDoubleClicked: {
                    videoWindow2.showFullScreen();
                }
            }

            Window{
                id: videoWindow2
                flags:  Qt.Window
                // visibility: Window.FullScreen
                visible: false
                Loader{
                    anchors.fill: parent
                    sourceComponent: video2Com
                }
                MouseArea{
                    anchors.fill: parent
                    onDoubleClicked: {
                        videoWindow2.close();
                    }
                }
            }
            Component{
                id: video2Com
                VideoItem {
                    id: videoComItem2
                    anchors.fill: parent
                    autoPlayAsSourceChanged: true
                    source: config.rootObject.cameras[2]
                    Timer{
                        repeat: true
                        interval: 10000
                        running: !videoComItem2.playing && videoComItem2.autoPlayAsSourceChanged
                        onTriggered: {
                            videoComItem2.play();
                        }
                    }
                }
            }
        }
    }

    Rectangle {
        x: 1434
        y: 728
        width: 438
        height: 42
        color: "#00ffffff"

        Image {
            id: image2
            anchors.fill: parent
            source: "images/little-title-background.png"
            fillMode: Image.Stretch
        }

        Text {
            id: text2
            x: 42
            y: 6
            color: "#ffffff"
            text: qsTr("工作日志")
            font.pixelSize: 20
            font.family: boldFont.name
            font.styleName: "Bold"
        }
    }

    Rectangle {
        x: 1434
        y: 768
        width: 438
        height: 252
        color: "#00ffffff"

        Image {
            id: image6
            anchors.fill: parent
            source: "images/little-moduls-background.png"
            fillMode: Image.Stretch
        }

        LogTableView {
            id: logTableView
            anchors.fill: parent
        }
    }

}
